#!/usr/bin/python
# -*- coding: utf-8 -*-


from PythonUI.Ui_Page1 import Ui_Page1 #Cette page hérite du fichier généré par pyuic4
from DAC.DBA.dbmanager import DBInterface
import sys
import os
from PyQt4.QtCore import Qt
from PyQt4 import QtCore, QtGui


class Page1(Ui_Page1,QtGui.QDialog):
    """
    Page d accueil du programme
    """
    
    def __init__(self,session):
        """
        Fonction d'initialisation
        """
        self.app = QtGui.QApplication(sys.argv)
        QtGui.QDialog.__init__(self)
        self.session=session
        self.retour=0
        self.parametre={}
    
    def __test_bdd(self):
        """
        Fonction permettant de tester la connectivite a la Base de donnee
        """
        liaison=DBInterface()
        if not(liaison.testDBA()):
            self.pushButton_suivant.setDisabled(True)
            QtGui.QMessageBox.critical(self, "GWA", "Impossible d'acceder a la base de donnee. Cela peut etre du a:\n - Service postgreSQL actuellement arrete\n - Une erreur dans la configuration (fichier DAC/DBA/dbaccess.config)\nLe document d'installation pourra vous fournir plus d'aide sur dernier point.\nGWA doit etre relance pour pourvoir l'utiliser pleinement", QtGui.QMessageBox.Ok)
        
                
    def suivant(self):
        """
        Fonction appelee lors de la validation du  bouton 'OK'
        """
        self.close()
        os.system("rm -f ~/.GWA/*")
        os.system("./Main.py 2")
    
    def scanAP(self):
        """
        Fonction permettant d'appeler la page Environnement Wifi
        """
        self.close()
        os.system("./Main.py Env")
     
    def affich(self,param):
        """
        Fonction permettant a cette page d'etre appele directement par Main.py
        en entrant "./Main.py 1"
        """
        self.setupUi(self)
        self.show()
        self.__test_bdd()
        sys.exit(self.app.exec_())
      
    def setupUi(self, Dialog):
        """
        Definition de l'interface graphique.
        La majorite de cette fonction est decrite dans le fichier genere par pyuic4 dans PythonUI/...
        """
        Ui_Page1.setupUi(self,Dialog)
	# redimensionnement de l'image
        self.objImg = QtGui.QImage("../images/logo-ng.png")
        self.objImgModif = self.objImg.scaled(651,311,Qt.KeepAspectRatio,Qt.FastTransformation)
        # taille de l'image
        a = self.objImgModif.height()
        b = self.objImgModif.width()
        # affichage de l'objet image dans le label
        self.label.clear()
        self.label.setGeometry(QtCore.QRect(9,9,9+b,9+a))
	self.label.setPixmap(QtGui.QPixmap.fromImage(self.objImgModif))
        QtCore.QObject.connect(self.pushButton_suivant, QtCore.SIGNAL("clicked()"), self.suivant)
        QtCore.QObject.connect(self.pushButton_ScanAP, QtCore.SIGNAL("clicked()"), self.scanAP)
        QtCore.QMetaObject.connectSlotsByName(Dialog)
        

